#ifndef _MAIN_WINDOW_H_
# define _MAIN_WINDOW_H_

#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include "IScreen.h"

class MainWindow
{
private:
	static SDL_Surface* m_screen;
	static SDL_Event m_event;
	static bool m_close;
	static TTF_Font* m_font;
	static IScreen* m_currentScreen;
	static bool m_screenChanged;

public:
	MainWindow();
	~MainWindow();
	
	bool init();
	bool update();

	static SDL_Surface* Screen();
	static SDL_Event& Event();
	static void Close(bool _value);
	static bool IsClosed();
	static TTF_Font* Font();
	static void SelectScreen(IScreen* _screen);
	static bool ScreenHasChanged();
	static void ResetScreenChanged();

private:
	bool init_sdl();
	bool init_ttf();

	// Properties
public:

	// Unused methods
private:
	MainWindow(MainWindow const&);
	MainWindow& operator=(MainWindow const&);
};

#endif
